#pragma once

#include "ComTypeDefine.h"
#include "Common/MissionDefine.h"

//奇遇行为事件
enum EAdventureAction
{
	EAdventureAction_EnterArea = 1,			//进入区域		1=区域id=0=0
	EAdventureAction_LeaveArea = 2,			//离开区域		1=区域id=0=0
	EAdventureAction_NpcTalk = 11,			//NPC交谈		11=Npcid=0=0
	EAdventureAction_EnterDup = 101,		//进入副本 		101=副本id=0=0
	EAdventureAction_ItemUse = 111,			//使用物品		111=物品id=0=0
	EAdventureAction_ItemAdd = 112,			//获得物品		112=物品id=0=0	
	EAdventureAction_CampChange = 121,		//阵营转换		121=转换后阵营id=0=0
	EAdventureAction_Collect = 131,			//采集			131=采集类型ID=0
	EAdventureAction_Make = 132,			//制造			132=制造类型=0
	//EAdventureAction_Collect_Action = 133,	//完成采集副业行为 131=采集类型=0=0
	//EAdventureAction_Make_Action = 134,		//完成制造副业行为 132=制造ID=0=0		
	EAdventureAction_MonsCount = 141,		//怪物计数		142=怪物ID=0
	EAdventureAction_KillMons = 142,		//击杀怪物		141=怪物ID=0(最后一刀)

	EAdventureAction_Relive = 151,			//玩家复活		151=0=0
	EAdventureAction_WorldChat = 152,		//世界聊天		152=0=0
	EAdventureAction_SendMail = 153,		//发邮件			153=0=0
	EAdventureAction_ClearPoint = 154,		//洗点			154=0=0
	EAdventureAction_Refine = 155,			//精炼			155=0=0
	EAdventureAction_PandosTrans = 156,		//星盘传送		156=0=0
	EAdventureAction_ActiveHorse = 157,		//激活坐骑		157=0=0
	EAdventureAction_AttendAct = 201,		//参加活动		201=0=0
	EAdventureAction_FinishAct = 202,		//完成活动		202=0=0
	EAdventureAction_CampSelect = 203,		//阵营竞选		203=0=0
	EAdventureAction_Treasure = 204,		//挖宝			204=0=0
	EAdventureAction_Charge = 301,			//充值			301=0=0
};

struct SActionParam
{
	uint32_t adventureId;	//奇遇ID
	SActionParam()
	{
		adventureId = 0;
	}
};


//行为结构
struct ActionCfgInfo 
{
	int32_t actionType;	//行为类型
	int32_t actionVal;	//行为值
	int32_t param1;		//参数1
	int32_t param2;		//参数2
	ActionCfgInfo()
	{
		actionType = 0;
		actionVal = 0;
		param1 = 0;
		param2 = 0;
	}
};

//奇遇配置信息
struct AdventureCfgInfo
{
	uint32_t adventureId;	//奇遇ID
	uint32_t chapterId;		//章节ID
	ActionCfgInfo action;	//行为
	AcceptInfo accept;		//接取条件
	AdventureCfgInfo()
	{
		adventureId = 0;
		chapterId = 0;
	}
};